import numpy as np
import const

# 导入constant.py文件，假设constant.py和calculation.py在同一目录下
import constant


# 示例计算：计算宏基站在工作状态下的总功耗
def calculate_total_power_consumption():
    """
    计算宏基站在工作状态下的总功耗
    :return: 宏基站总功耗
    """
    # 从constant.py中获取宏基站的最大发射功率和工作静态功率
    p_max_macro = const.P_MAX_MACRO
    p_static_work_macro = const.P_STATIC_WORK_MACRO
    eta = const.ETA  # 功放效率

    # 计算宏基站最大功耗
    p_bs_max_macro = p_max_macro / eta + p_static_work_macro

    return p_bs_max_macro


# 示例计算：计算光伏板产生的能量
def calculate_pv_energy():
    """
    计算光伏板产生的能量
    :return: 光伏板产生的能量
    """
    # 从constant.py中获取光伏板相关参数
    gamma_pv = const.GAMMA_PV  # 光伏板效率
    s_pv_macro = const.S_PV_MACRO  # 宏基站光伏板面积
    pv_a = const.PV_A  # 武汉光伏最大值

    # 简单计算光伏板产生的能量（这里只是一个示例，实际计算可能更复杂）
    pv_energy = gamma_pv * s_pv_macro * pv_a

    return pv_energy


if __name__ == "__main__":
    # 调用函数进行计算
    total_power_consumption = calculate_total_power_consumption()
    print(f"宏基站在工作状态下的总功耗: {total_power_consumption} W")

    pv_energy = calculate_pv_energy()
    print(f"光伏板产生的能量: {pv_energy}")
    
    print(const.RB_MAX_MACRO)
